package org.gap.jseed;

import java.lang.annotation.Annotation;
import java.lang.reflect.InvocationHandler;

/**
 * Specifies what injections will be loaded into the {@link Injector}.
 * @author gpelcha
 *
 */
public interface Configuration {

	void registerClass(Class<? extends Annotation> class1, Class<? extends InvocationHandler> class2);
	
	void registerClass(Class<? extends Annotation> class1, Class<? extends InvocationHandler> class2, Validator validator);

	void registerMethod(Class<? extends Annotation> class1, Class<? extends InvocationHandler> class2);
	
	void registerField(Class<? extends Annotation> annotation, Class<? extends FieldHandler> handler);
}
